/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package p2p.raca.Client;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;
import java.util.Vector;

import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author p
 */
public final class Lista {
    public static Vector Listanomes;    // vetor que armazena os nomes dos host
    public static Vector Listaip;       // vetor que armazena os ip dos host
    
    public Lista()  // construtor
    {
        Listanomes = new Vector();  
        Listaip = new Vector();     
                }
    
    public static void SaveLista() throws IOException // funcao que salva os host contidos na rede em um arquivo
    {
        File arquivo = new File("Lista.txt");
        if (arquivo.exists())
            arquivo.delete();
        arquivo.createNewFile();
        FileWriter fw = new FileWriter(arquivo, true);
        PrintWriter out = new PrintWriter(fw);
        for (int i=0; i<Listanomes.size();i++)
        {
            out.println(Listanomes.elementAt(i));
            out.flush();
            out.println(Listaip.elementAt(i));
            out.flush();

        }
                
        
    }
        public static void PrintNomes()    //funcao que imprime os nomes dos host
        {
            for (int i=0;i<Listanomes.size();i++)
                System.out.println(Listanomes.elementAt(i));
        }
        public static void LoadLista()     // funcao que carrega na memoria os host contidos no arquivo
        {
            Listanomes = new Vector(); 
            Listaip = new Vector();
            File arquivo = new File("Lista.txt");
        try {
            Scanner scanner = new Scanner(new FileInputStream(arquivo));
            while (scanner.hasNextLine())
            {
                Listanomes.add(scanner.nextLine());
                Listaip.add(scanner.nextLine());
                
            }
        } catch (FileNotFoundException ex) {
        }
        }
        
        public static String getElem(int i)
                
        {
            return (String) Listanomes.elementAt(i);
        }
    
    public static void addElem(String nome, String IP) //funcao que adiciona um host na lista
    {
        Listanomes.add(nome);
        Listaip.add(IP);
        
        
    }
    public static void removeElem(String nome)  //funcao que remove um host da lista
    {
        int i=0;
        while (i<Listanomes.size())
        {
            if (nome.equalsIgnoreCase((String)Listanomes.elementAt(i)))
            {
                Listanomes.remove(i);
                Listaip.remove(i);
                i = Listanomes.size();
                
            }
            i++;
        }
        //SaveLista();
    }
    
    
    
}
